<?php

	/**
	 * Olyan statikus metódusokat tartalmaz, amik site specifikusak és segítenek összeállítani az oldalt.
	 *
	 */
	class SiteHelper {
		
		/**
		 * A főoldalra lehozza a hírek kivonatát.
		 *
		 * @return array a hír rekordok vagy null ha hiba történt
		 */
		public static function getNewsForMainPage()
		{
			return SiteDBHelper::getArticles(SiteHandler::getCurrentSiteId(), TextHandler::getCurrentLangcode(), array(ARTICLE_TYPE_NEWS), array("publishdate desc"), 3, array("id", "title", "publishdate"));
		}
		
		/**
		 * Visszaad egy banner kép url-t, véletlenszerűen
		 *
		 * @return string kép url vagy null ha nincs kép
		 */
		public static function getBannerPicture()
		{
			$folderContent = FileUtil::getFolderContentForCombo(SITES_BANNERS_FOLDER, "dir!");
			// most ebből kidobjuk a directorykat!
			$filePaths = array();
			foreach($folderContent as $path => $label)
			{
				if(substr($path, 0, 4) != "dir!")
					array_push($filePaths, $path);
			}
			
			if(count($filePaths) == 0)
				return null;
			
			//mt_srand ((double) microtime() * 1000000);
			$index = mt_rand(0, count($filePaths)-1);
			
			return FileUtil::mergeAndNormalizePaths(SITES_BANNERS_FOLDER_URL, $filePaths[$index]);
		}
		
		/**
		 * Visszaad egy banner szöveget véletlenszerűen
		 *
		 * @return string egy banner szöveg vagy null ha nincs mit adni
		 */
		public static function getBannerText($siteId)
		{
			if(is_null($siteId))
				return null;
				
			$bannerTexts = SiteDBHelper::getBannerTexts($siteId, TextHandler::getCurrentLangcode());
			if(is_null($bannerTexts) || count($bannerTexts) == 0)
				return null;
				
			$index = mt_rand(0, count($bannerTexts)-1);
			
			return $bannerTexts[$index]['bantext'];
		}
	}
?>